class Queue:
    """
    约瑟夫环问题
    创建Queue类时，初始化数据，
    在类中创建win方法，传入参数num，每过num个人，淘汰一个人，直到最后一个人，返回最后一个人的名字
    """

    def __init__(self, data: list):
        self.queue = data

    def win(self, num):
        while len(self.queue) > 1:
            for i in range(num):
                tem = self.queue.pop(0)
                self.queue.append(tem)
            self.queue.pop(0)
        return self.queue[0]


data = ["小王", "小红", "小明", "小蓝", "小紫", "小绿", "小粉", "小紫", "小绿", "小粉"]
num = 3
m1 = Queue(data)
print(m1.win(num))
